/**
 * @author
 * @createtime
 * @class AdminArticleSendForm
 * @extends Ext.Window
 * @description AdminArticleSend表单
 */
AdminArticleSendForm = Ext.extend(Ext.Window, {
	// 内嵌FormPanel
	formPanel : null,
	// 构造函数
	constructor : function(_cfg) {
		Ext.applyIf(this, _cfg);
		// 必须先初始化组件
		this.initUIComponents();
		AdminArticleSendForm.superclass.constructor.call(this, {
					id : 'AdminArticleSendFormWin',
					layout : 'fit',
					items : this.formPanel,
					modal : true,
					width : 700,
					height : 380,
					maximizable : true,
					title : '[行政发文申请]详细信息',
					buttonAlign : 'center',
					buttons : this.buttons
				});
	},// end of the constructor
	// 初始化组件
	initUIComponents : function() {
		this.formPanel = new Ext.FormPanel({
					layout : 'form',
					trackResetOnLoad : true,
					bodyStyle : 'padding:10px 10px 10px 10px',
					border : false,
					url : __ctxPath + '/admin/saveAdminArticleSend.do',
					id : 'AdminArticleSendForm',
					defaults : {
						anchor : '98%,98%'
					},
					defaultType : 'textfield',
					items : [{
								name : 'adminArticleSend.id',
								id : 'id',
								xtype : 'hidden',
								value : this.id == null ? '' : this.id
							},{
								xtype : 'container',
								layout : 'column',
								height : 25,
								defaults : {
									xtype : 'label',
									style : {
										margin : '0px 0px 3px 0px'
									}
								},
								items : [{
											text : '标题：',
											columnWidth:.15
										}, {
											xtype : 'textfield',
											name : 'adminArticleSend.title',
											id : 'title',
											columnWidth : .4
										}, {
											text : '文号：',
											style : 'margin-left:10px;',
											columnWidth:.15
										}, {
											xtype : 'textfield',
											name : 'adminArticleSend.artileNo',
											id : 'artileNo',
											readOnly:true,
											value : '系统自动生成！',
											columnWidth : .3
										}
									]
							},{
								xtype : 'container',
								layout : 'column',
								height : 25,
								defaults : {
									xtype : 'label',
									style : {
										margin : '0px 0px 3px 0px'
									}
								},
								items : [{
											text : '关键字：',
											columnWidth:.15
										}, {
											xtype : 'textfield',
											name : 'adminArticleSend.keyword',
											id : 'keyword',
											allowBlank:false,
											maxLength:64,
											columnWidth:.85
										}
									]
							},{
								xtype : 'container',
								layout : 'column',
								height : 150,
								defaults : {
									xtype : 'label',
									style : {
										margin : '0px 0px 3px 0px'
									}
								},
								items : [{
											text : '概要：',
											columnWidth:.15
										}, {
											xtype : 'htmleditor',
											name : 'adminArticleSend.abstractions',
											id : 'abstractions',
											allowBlank:false,
											height:145,
											columnWidth:.85
										}
									]
							},{
								xtype : 'container',
								autoHeight : true,
								layout : 'column',
								autoWidth : true,
								defaultType : 'label',
								style : 'padding-left:0px;padding-bottom:5px;',
								items : [{
											text : '附件:',
											columnWidth:.15,
											style : "margin-top:15px;"
										},{
											xtype : 'hidden',
											name : 'attachIds',
											id : 'adminArticleSend.attachIds'
										},{
											xtype : 'hidden',
											name : 'attachFiles',
											id : 'adminArticleSend.attachFiles'
										},{
											xtype : 'panel',
											id:'adminArticleSend.displayAttach',
											columnWidth:.85,
											height: 65,
											frame:false,
											autoScroll:true,
											style : 'padding-left:10px;padding-top:0px;',
											html : ''
										},{
											xtype : 'button',
											iconCls : 'btn-upload',
											text : '上传',
											handler : function() {
												var dialog = App.createUploadDialog({
																		file_cat : 'flow/adminArticleSend',
																		callback : function(data) {
																			var attachFiles = Ext.getCmp("adminArticleSend.attachFiles");
																			var fileIds = Ext.getCmp('adminArticleSend.attachIds');
																			var display = Ext.getCmp('adminArticleSend.displayAttach');
																			display.body.update('');
																			attachFiles.setValue('');
																			fileIds.setValue('');
																			for (var i = 0; i < data.length; i++) {
																				if (fileIds.getValue() != '') {
																					fileIds.setValue(fileIds.getValue()+ ',');
																					attachFiles.setValue(attachFiles.getValue()+ ',');
																				}
																				attachFiles.setValue(attachFiles.getValue()+data[i].filepath+":"+data[i].filename.replace(/\s+/g,""));
																				fileIds.setValue(fileIds.getValue()+data[i].fileId);
																				Ext.DomHelper.append(display.body,'<span><a href="#" onclick="FileAttachDetail.show('+data[i].fileId+')">'+data[i].filename.replace(/\s+/g,"")+'</a>&nbsp;|&nbsp;</span>');
																			}
																		},
																		permitted_max_size :1024*1024*20
																	});
													dialog.show(this);
											}
										}]
						}
					]
				});
		// 加载表单对应的数据
		this.initData();
		// 初始化功能按钮
		this.buttons = [{
					text : '保存',
					iconCls : 'btn-save',
					handler : this.save.createCallback(this.formPanel, this)
				}, {
					text : '重置',
					iconCls : 'btn-reset',
					handler : this.reset.createCallback(this.formPanel)
				}, {
					text : '取消',
					iconCls : 'btn-cancel',
					handler : this.cancel.createCallback(this)
				}];
	},// end of the initcomponents
	/**
	 * 初始化数据
	 * 
	 * @param {}
	 *            formPanel
	 */
	initData : function() {
		// 加载表单对应的数据
		if (this.id != null && this.id != 'undefined') {
			this.formPanel.getForm().load({
				deferredRender : false,
				url : __ctxPath + '/admin/getAdminArticleSend.do?id=' + this.id,
				waitMsg : '正在载入数据...',
				success : function(form, action) {
					var jsonData = Ext.util.JSON
							.decode(action.response.responseText);
					var res = jsonData.data;
					// Ext.getCmp("").originalValue=
					var af = res.fileAttachs;
					var filePanel = Ext.getCmp('adminArticleSend.displayAttach');
					var fileIds = Ext.getCmp("adminArticleSend.attachIds");
					for (var i = 0; i < af.length; i++) {
						if (fileIds.getValue() != '') {
							fileIds.setValue(fileIds.getValue() + ',');
						}
						fileIds.setValue(fileIds.getValue() + af[i].fileId);
						Ext.DomHelper
								.append(
										filePanel.body,
										'<span><a href="#" onclick="FileAttachDetail.show('
												+ af[i].fileId
												+ ')">'
												+ af[i].fileName.replace(/\s+/g,"")+'</a>&nbsp;|&nbsp;</span>');
					}
					fileIds.originalValue = fileIds.getValue();
				},
				failure : function(form, action) {
				}
			});
		}
	},
	/**
	 * 重置
	 * 
	 * @param {}
	 *            formPanel
	 */
	reset : function(formPanel) {
		formPanel.getForm().reset();
	},
	/**
	 * 取消
	 * 
	 * @param {}
	 *            window
	 */
	cancel : function(window) {
		window.close();
	},
	/**
	 * 保存记录
	 */
	save : function(formPanel, window) {
		if (formPanel.getForm().isValid()) {
			formPanel.getForm().submit({
						method : 'POST',
						waitMsg : '正在提交数据...',
						success : function(fp, action) {
							Ext.ux.Toast.msg('操作信息', '成功保存信息！');
							var gridPanel = Ext.getCmp('AdminArticleSendGrid');
							if (gridPanel != null) {
								gridPanel.getStore().reload();
							}
							window.close();
						},
						failure : function(fp, action) {
							Ext.MessageBox.show({
										title : '操作信息',
										msg : '信息保存出错，请联系管理员！',
										buttons : Ext.MessageBox.OK,
										icon : Ext.MessageBox.ERROR
									});
							// window.close();
						}
					});
		}
	}// end of save

});